<?php

namespace app\common\model\mycurrency;

use think\Exception;
use think\Model;
use traits\model\SoftDelete;

class DeviceInstruction extends Model
{

    //use SoftDelete;

    // 表名
    protected $name = 'mycurrency_device_instruction';

    const CONTROL_TYPE_ZUJIEKAIMEN = 221;//控制类型 = 控制开门 = 用户租赁开门
    const CONTROL_TYPE_GUIHUANKAIMEN = 222;//控制类型 = 控制开门 = 用户归还开门

    const CONTROL_TYPE_GUIHUANGUANMENCHAOSHI = 241;//控制类型 = 查询柜门状态 = 租赁订单归还关门超时发送指令查询柜门状态
    const CONTROL_TYPE_GUIMENKAIGUANZHUANGTAI = 243;//控制类型 = 查询柜门状态 = 查询柜门开关状态
    const CONTROL_TYPE_GUIHUANJIANCEMENSHIFOUGUANBI = 245;//控制类型 = 查询柜门状态 = 归还检测流程查询门是否关闭

    const CONTROL_TYPE_GUANLIYUANDUQUKAID = 1111;//控制类型 = 读卡指令 = 管理员查询全部隔扣卡id
    const CONTROL_TYPE_YONGHUXIADANDUQUKAID = 1112;//控制类型 = 读卡指令 = 用户下单读取隔扣卡id
    const CONTROL_TYPE_GUIHUANJIANCEKAID = 1113;//控制类型 = 读卡指令 = 归还检测流程查询杆子卡id
    const CONTROL_TYPE_DULICHAXUN = 1115;//控制类型 = 读卡指令 = 管理员单个查询隔扣id

    const CONTROL_TYPE_GUANLIYUANCHAXUNHONGWAIZHEDANGQINGKUANG = 511;//控制类型 = 红外遮挡情况 = 管理员查询红外遮挡情况
    const CONTROL_TYPE_GUIHUANLIUCHENGJIANCEHONGWAIZHEDANGQINGKUANG = 512;//控制类型 = 红外遮挡情况 = 归还检测流程查询红外遮挡情况


    const CONTROL_STATUS_YIFASONG = 1;//服务器控制状态:1=已发送
    const CONTROL_STATUS_YISONGDA = 2;//服务器控制状态:2=已送达
    const CONTROL_STATUS_YIYINGDA = 3;//服务器控制状态:3=已应答

    /**
     * 记录日志数据
     * @param int $device_id 设备id
     * @param int $code 通讯指令
     * @param string $message 消息内容
     * @param int $message_id 消息id号
     * @param array $extend 扩展数据
    */
    public static function increase($device_id,$code,$message,$message_id,$extend = []){
        $data = [
            'device_id' => $device_id,
            'code' => $code,
            'message' => $message,
            'message_id' => $message_id,
            'createtime' => time(),
            'createdate' => date('Y-m-d H:i:s',time()),
        ];
        $data = array_merge($data,$extend);
        $instruction = self::create($data);
        return $instruction->id;
    }

}
